#pragma once

#include "KnowledgeBaseWriterTextLocalizationInterface.h"

class KnowledgeBaseWriterTextLocalizationEnglish
: public KnowledgeBaseWriterTextLocalizationInterface
{
	friend class Factory < KnowledgeBaseWriterTextLocalizationInterface >;
public:
	static KnowledgeBaseWriterTextLocalizationInterfacePtr Spawn ();
	static void CheckInnocence ();
private:
	virtual std::string GlobalAddress ();
	virtual std::string SeniorKey ();
	virtual std::string SeniorType ();
	virtual std::string LexemText ();
	virtual std::string UpperBranch ();
	virtual std::string LowerBranch ();
	virtual std::string NextLevel ();
	virtual std::string Synonym ();
	virtual std::string AdjacentAscending ();
	virtual std::string AdjacentDescending ();
	virtual std::string BeforeAdjacentAscending ();
	virtual std::string BeforeAdjacentDescending ();
	virtual std::string GreaterAscending ();
	virtual std::string GreaterDescending ();
	virtual std::string LesserAscending ();
	virtual std::string LesserDescending ();
	virtual std::string TypeRoot ();
	virtual std::string ValueRoot ();
private:
	static Factory < KnowledgeBaseWriterTextLocalizationInterface > factory;
};
